import axios from "axios";
import store from "../store";

const $http = axios.create({
    baseURL: process.env.VUE_APP_BASE_URL,
    timeout: 600000,
});

// 添加请求拦截器
$http.interceptors.request.use(
    function (config) {
        store.commit('changeLoadingState', true);

        return config;
    },
    function (error) {
        store.commit('changeLoadingState', false);

        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
$http.interceptors.response.use(
    function (response) {
        // 对响应数据做点什么
        if (response.status === 200) {
            return response.data;
        }

        store.commit('changeLoadingState', false);
    },
    function (error) {
        store.commit('changeLoadingState', false);

        // 对响应错误做点什么
        return Promise.reject(error);
    }
);


export { $http };